<%@ include file="/common/taglibs.jsp"%>
<head>
    <title><fmt:message key="penalizacionbonificacionform.title"/></title>
    <meta name="heading" content="<fmt:message key='penalizacionbonificacionform.heading'/>"/>
</head>

<spring:bind path="penalizacionbonificacionform.*">
    <c:if test="${not empty status.errorMessages}">
    <div class="error">
        <c:forEach var="error" items="${status.errorMessages}">
            <img src="<c:url value="/images/iconWarning.gif"/>"
                alt="<fmt:message key="icon.warning"/>" class="icon"/>
            <c:out value="${error}" escapeXml="false"/><br />
        </c:forEach>
    </div>
    </c:if>
</spring:bind>

<form:form commandName="penalizacionbonificacionform" method="post" action="penalizacionbonificacionform.html" 
	onsubmit="return onFormSubmit(this)" id="penalizacionbonificacionform">
<form:hidden id="id" path="id"/>

<ul>
	<li class="buttonBar right">
		<c:set var="buttons">
            
            <input type="submit" class="button" value="<fmt:message key="button.save"/>"
            id="btnGuardarID" name="btnGuardar" />

		    <input type="button" class="button" onclick="location.href='<c:url value="/penalizacionbonificacion/penalizacionbonificacionlist.html"/>'"
		    value="<fmt:message key="button.cancel"/>"/>
        </c:set>
        <c:out value="${buttons}" escapeXml="false"/>
	</li>
	
	<li>	
	<fieldset style="width: 400px">
	<legend><fmt:message key="common.propiedades.generales"/></legend>		
	  
	    	<div>
	    		<label for="tarjeta" class="required desc">
		        	<fmt:message key="penalizacionbonificacionform.tarjeta"/>
		        </label>
		        <c:choose>
	        		<c:when test="${penalizacionbonificacionform.id != null and penalizacionbonificacionform.id != ''}">
	        			${penalizacionbonificacionform.coTarjetaPersona}
	        			<form:hidden path="coTarjetaPersona" id="coTarjetaPersonaID"/>
	        		</c:when>
	        		<c:otherwise>
	        			<form:errors path="coTarjetaPersona" cssClass="fieldError"/>
        				<form:input path="coTarjetaPersona" id="coTarjetaPersonaID"
        				cssClass="text medium" maxlength="12" cssErrorClass="text large error"  onblur="obtenerDatosClientePorTarjetaAnulacion(this,true)"/>
	        		</c:otherwise>
	        	</c:choose>    		
	    	</div><br/>	    	
		    	
	    	<div>
	    		<label for="tarjeta" class="required desc">
		        	<fmt:message key="penalizacionbonificacionform.cliente"/>
		        </label>
		        <c:choose>
	        		<c:when test="${penalizacionbonificacionform.id != null and penalizacionbonificacionform.id != ''}">
	        			${penalizacionbonificacionform.deClientePersona}
	        			<form:hidden path="deClientePersona" id="deClientePersonaID"/>
	        			<form:hidden path="coClientePersona" id="coClientePersonaID"/>
	        		</c:when>
	        		<c:otherwise>
        				<form:hidden path="coClientePersona" id="coClientePersonaID"/>
		        		<span id="deClienteAnulaID"><fmt:message key="label.itemdefault"/></span>
		        		<input type="hidden" id="flagClienteAnulaID" name="flagClienteAnula" />
	        		</c:otherwise>
	        	</c:choose>    		
	    	</div><br/>	  
		
	    	<div>
	    		<label for="daFechaIncidencia" class="required desc">
		        	<fmt:message key="penalizacionbonificacionform.fechaincidencia"/>
		        </label>
		        <c:choose>
	        		<c:when test="${penalizacionbonificacionform.id != null and penalizacionbonificacionform.id != ''}">
	        			${penalizacionbonificacionform.daFechaIncidencia}
	        			<form:hidden path="daFechaIncidencia" id="daFechaIncidenciaID"/>
	        			
	        		</c:when>
	        		<c:otherwise>
	        		
				 		<form:input path="daFechaIncidencia" id="daFechaIncidenciaID" size="11" cssClass="text medium"/>
				        <input type="button" class="buttoncal" id="daFechaIncidenciaCal" value="..."/>  [<fmt:message key="date.format"/>]
				        <form:errors path="daFechaIncidencia" cssClass="fieldError"/>    
						<script type="text/javascript">
					    	new Calendar({
					                  inputField: "daFechaIncidenciaID",		// id of the input field
					                  dateFormat: "%d/%m/%Y",
					                  trigger	: "daFechaIncidenciaCal",	// id of the button
					                  bottomBar	: false,
					                  onSelect	: function() {
											this.hide();
					                  }
					          });
					     </script>  

	        		</c:otherwise>
	        	</c:choose>    		
	    	</div><br/>	
	    	
	    	<div>
	    			<label for="daFechaRegistro" class="required desc">
		        	<fmt:message key="penalizacionbonificacionform.fecharegistro"/>
		        </label>
	    			${penalizacionbonificacionform.daFechaCreacion}
	    	</div>
	    	
			<div>
			<label for="tipo" class="required desc">
				<fmt:message key="penalizacionbonificacionform.tipo"/>
			</label>
			<c:choose>
	        	<c:when test="${penalizacionbonificacionform.id != null and penalizacionbonificacionform.id != ''}">
	        		<form:hidden path="coTipo" id="coTipoID"/>
 					<c:choose>
	        			<c:when test="${penalizacionbonificacionform.coTipo== 1}">
	        				<fmt:message key="penalizacionbonificacionform.tipo.penalizacion"/>
 						</c:when>
	        			<c:when test="${penalizacionbonificacionform.coTipo== 2}">
	        				<fmt:message key="penalizacionbonificacionform.tipo.bonificacion"/>
 						</c:when> 						
			        	<c:otherwise>
		        		</c:otherwise> 						
 					</c:choose>		
	        	</c:when>
	        	<c:otherwise>
	        		<form:select cssClass="text medium" id="coTipoID" path="coTipo" >
							<form:option value="1"><fmt:message key="penalizacionbonificacionform.tipo.penalizacion"/></form:option>
							<form:option value="2"><fmt:message key="penalizacionbonificacionform.tipo.bonificacion"/></form:option>				        			
	       			</form:select>	       	
	        	</c:otherwise>
	        </c:choose>
		</div><br/>	   	    	
	    	
			<div>
			<label for="tipoIncidencia" class="required desc">
				<fmt:message key="penalizacionbonificacionform.tipoincidencia"/>
			</label>
			<c:choose>
	        	<c:when test="${penalizacionbonificacionform.id != null and penalizacionbonificacionform.id != ''}">
	        		${penalizacionbonificacionform.daTipoIncidenciaPuntos}
	        		<form:hidden path="coTipoIncidenciaPuntos" id="coTipoIncidenciaPuntosID"/>
	        	</c:when>
	        	<c:otherwise>
	        		<form:select cssClass="text medium" id="coTipoIncidenciaPuntosID" path="coTipoIncidenciaPuntos" >
	        			<form:options itemValue="id" itemLabel="deTipoIncidenciaPuntos" items="${tipoIncidencias}"/>
	       			</form:select>	       	
	        	</c:otherwise>
	        </c:choose>
		</div><br/>	   
		
		<div>
			<label for="puntos" class="required desc">
				<fmt:message key="penalizacionbonificacionform.puntos"/>
			</label>
			<c:choose>
	        	<c:when test="${penalizacionbonificacionform.id != null and penalizacionbonificacionform.id != ''}">
	        		${penalizacionbonificacionform.vaPuntos}
	        		<form:hidden path="vaPuntos" id="vaPuntosID"/>
	        	</c:when>
	        	<c:otherwise>
       	        		<form:input path="vaPuntos" id="vaPuntosID"
        				cssClass="text medium" maxlength="20" cssErrorClass="text large error"/>
	        	</c:otherwise>
	        </c:choose>
		</div><br/>		 	
		
		<div>
			<appfuse:label styleClass="desc" key="penalizacionbonificacionform.sustentacion" />	          			
			<c:choose>
	        	<c:when test="${penalizacionbonificacionform.id != null}">	        			        		
	        		<c:choose>
	        		<c:when test="${penalizacionbonificacionform.deSustentacion != null and penalizacionbonificacionform.deSustentacion  != ''}">
	        			${penalizacionbonificacionform.deSustentacion}
	        			<form:hidden path="deSustentacion" id="deSustentacionID"/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="deSustentacion" id="deSustentacionID"/>
	        		</c:otherwise>
	        		</c:choose>
	        	</c:when>
	        	<c:otherwise>
					<form:textarea path="deSustentacion" id="deSustentacinoID" 
					rows="2" cols="41" onkeypress="isMaxLength(this, 1000)"/>
	        	</c:otherwise>
	        </c:choose>			 
		</div><br/>  		
	</fieldset>
	</li>	
	<li class="buttonBar bottom">
        <c:out value="${buttons}" escapeXml="false"/>
    </li>
</ul>

</form:form>

<script type="text/javascript">
    Form.focusFirstElement($('penalizacionbonificacionform'));
    highlightFormElements();
    window.onload = initPenlalizacionBonificacionform;
	function initPenlalizacionBonificacionform(){
		var id = dwr.util.getValue("id");
		if (id != null && id != '' ){
				document.getElementsByName("btnGuardar")[0].disabled=true;
				document.getElementsByName("btnGuardar")[1].disabled=true;
		}else{
				document.getElementsByName("btnGuardar")[0].disabled=false;
				document.getElementsByName("btnGuardar")[1].disabled=false;		
		}
	}

	
    function onFormSubmit(objForm){
    	var coTipoID = dwr.util.getValue("coTipoID");
        var coClientePersonaID = dwr.util.getValue("coClientePersonaID");
        var vaPuntosID = dwr.util.getValue("vaPuntosID");
        var nomPuntosID = "Puntos";

        if (coClientePersonaID==''){
			alert('<fmt:message key="penalizacionbonificacionform.error.codigotarjeta.invalido"/>');
			return false;
            }

		 if(vaPuntosID.length==0){
			 alert("<fmt:message key="common.validar.noVacio"><fmt:param value='"+nomPuntosID+"'/></fmt:message>");
			 document.getElementById("vaPuntosID").focus();
			 return false;
		 }else if(isNaN(vaPuntosID)){
			 alert("<fmt:message key="common.validar.noNumero"><fmt:param value='"+nomPuntosID+"'/></fmt:message>");
			 document.getElementById("vaPuntosID").focus();
			 return false;
		 }else if (vaPuntosID==0){
			 alert("<fmt:message key="common.validar.noCero"><fmt:param value='"+nomPuntosID+"'/></fmt:message>");
			 document.getElementById("vaPuntosID").focus();
			 return false;
		 }

		 if (coTipoID == 1){
			 if(vaPuntosID>=0){
				 alert("<fmt:message key="penalizacionbonificacionform.error.penalizacion"/>");
				 document.getElementById("vaPuntosID").focus();
				 return false;
			 }
		 }	
		 if (coTipoID == 2){
			 if(vaPuntosID<=0){
				 alert("<fmt:message key="penalizacionbonificacionform.error.bonificacion"/>");
				 document.getElementById("vaPuntosID").focus();
				 return false;
			 }
		 }
		 
    	var isSubmit = validatePenalizacionbonificacionform(objForm) ;

    	if(isSubmit){
        		document.getElementsByName("btnGuardar")[0].disabled=true;
	  			document.getElementsByName("btnGuardar")[1].disabled=true;
	  		return true;
		}

		return false;
    }

    function obtenerDatosClientePorTarjeta(obj,flag){
		var codeTarjeta = obj.value;
		if(codeTarjeta != null && trim(codeTarjeta) != ''){
			dwr.util.useLoadingMessage("Cargando ...");
			CanjeService.obtenerDatosClientePorTarjeta(codeTarjeta, function(data) {
				var puntosacumulados = 'Total Puntos Acumulados: ';				
				if(data.dePuntosAcumulados == null || trim(data.dePuntosAcumulados) == ''){
					puntosacumulados = puntosacumulados + '0 ptos.';
				}else{
					puntosacumulados = puntosacumulados + data.dePuntosAcumulados +' ptos.';
				}

				if(data.deNombre != null && trim(data.deNombre) != ''){
					dwr.util.setValue("deClienteID", data.deNombre, { escapeHtml:false });
					dwr.util.setValue("flagCliente", data.deNombre, { escapeHtml:false });
					dwr.util.setValue("flagTotalPuntos", puntosacumulados, { escapeHtml:false });
				}else{
					dwr.util.setValue("deClienteID", '', { escapeHtml:false });
					dwr.util.setValue("flagCliente", '----', { escapeHtml:false });
					dwr.util.setValue("flagTotalPuntos", '', { escapeHtml:false });

					if(flag){
						alert('No se encontro un cliente relacionado a la tarjeta');
						return false;
					}
				}
			});			
		}
    }


    function obtenerDatosClientePorTarjetaAnulacion(obj,flag){

		var codeTarjeta = obj.value;
		if(codeTarjeta != null && trim(codeTarjeta) != ''){

			dwr.util.useLoadingMessage("Cargando ...");
			CanjeService.obtenerDatosClientePorTarjeta(codeTarjeta, function(data) {

				if(data.coClientePersona != null && trim(data.coClientePersona) != ''){
					dwr.util.setValue("deClienteAnulaID", data.deNombre, { escapeHtml:false });
					dwr.util.setValue("flagClienteAnulaID", data.coClientePersona, { escapeHtml:false });
					dwr.util.setValue("coClientePersonaID", data.coClientePersona, { escapeHtml:false });
					
				}else{
					dwr.util.setValue("deClienteAnulaID", '<fmt:message key="label.itemdefault"/>', { escapeHtml:false });
					dwr.util.setValue("flagClienteAnulaID",'' , { escapeHtml:false });
					dwr.util.setValue("coClientePersonaID", '', { escapeHtml:false });
						if(flag){
						alert('No se encontro un cliente relacionado a la tarjeta');
						return false;
					}
				}
			});			
		}
    }
    
    function obtenerDatosPremioPorCodigo(obj,flag){

    	var idDoc = dwr.util.getValue('idDocumentoMovArticulo');
    	var coAlmacen = dwr.util.getValue('coAlmacenID');
    	
    	var codePremio = obj.value;
    	if(codePremio != null && trim(codePremio) != ''){

    		dwr.util.useLoadingMessage("Cargando ...");
    		document.getElementById("btnSerieID").disabled=true;

			if(flag){
    			imprimeGrillaSeriePremios();
			}
    		
    		CanjeService.obtenerDatosPremioPorCodigo(codePremio,coAlmacen, function(data) {
    			dwr.util.setValue("deCodigoPremioID", data.deArticulo, { escapeHtml:false });
    			dwr.util.setValue("stManejaSerieID", data.stManejaSerie, { escapeHtml:false });
    			dwr.util.setValue("stNoManejaStockID", data.stNoManejaStock, { escapeHtml:false });
    			dwr.util.setValue("stManejaStockPuntoCanjeID", data.stManejaStockPuntoCanje, { escapeHtml:false });
    			dwr.util.setValue("stManejaStockAlmPrincipalID", data.stManejaStockAlmPrincipal, { escapeHtml:false });
    			dwr.util.setValue("vaPuntosPremioID", data.vaPuntosRequeridos, { escapeHtml:false });
    			dwr.util.setValue("vaPrecioPremioID", data.vaMontoRequerido, { escapeHtml:false });

    			calculaTotales();
        		if((idDoc == null || idDoc == '') && //si es insertar y es una reserva
                   (data.stManejaStockPuntoCanje != 'Y')){
        			document.getElementById("btnSerieID").disabled=true;
        			imprimeGrillaSeriePremios();
            	}else{
            		if(data.stManejaSerie == 'Y'){
        				document.getElementById("btnSerieID").disabled=false;
            		}
                }

    			if(data.deArticulo != null && trim(data.deArticulo) != ''){
					dwr.util.setValue("flagPremio", data.deArticulo, { escapeHtml:false });
				}else{
					dwr.util.setValue("flagPremio", '----', { escapeHtml:false });

					if(flag){
						alert('No se encontro un articulo relacionado al codigo de premio y el almacen.');
						return false;
					}
				}

    			if(data.stManejaStockPuntoCanje == 'Y'){
    				manejaStockPuntoCanje();
    			}else if(data.stManejaStockAlmPrincipal == 'Y'){
					manejaStockAlmPrincipal();
            	}else if(data.stNoManejaStock == 'Y'){
					noManejaStock();
                }        		
    		});
       	}else{
           	
       		dwr.util.setValue("flagPremio", '----', { escapeHtml:false });
			dwr.util.setValue("deCodigoPremioID", "", { escapeHtml:false });
        	dwr.util.setValue("vaCantidadID"	, "", { escapeHtml:false });
        	dwr.util.setValue("vaPrecioPremioID", "", { escapeHtml:false });
        	dwr.util.setValue("vaPuntosPremioID", "", { escapeHtml:false });
        	dwr.util.setValue("vaPuntosTotalesID", "0.0", { escapeHtml:false });
    		dwr.util.setValue("vaPrecioTotalID"	 , "0.0", { escapeHtml:false });
       	}
    }


</script>
<v:javascript formName="penalizacionbonificacionform" staticJavascript="false"/>
<script type="text/javascript" src="<c:url value="/scripts/validator.jsp"/>"></script>
<script type='text/javascript' src="<c:url value="/dwr/interface/CanjeService.js"/>"></script>
<script type='text/javascript' src="<c:url value="/dwr/interface/AfiliacionService.js"/>"></script>